// ============================================================================
//
// Graph framework by Aurelien Moreau aurelien.moreau@gmail.com
// Modified by Pierre CHATEL chatelp@gmail.com
// Distributed under LGPL
// Copyright (C) Aurelien Moreau, 2008, 2009. All rights reserved
//
// ============================================================================

package com.thalesgroup.graphFramework.core;

public interface GraphBuilder<V, E> {

	public void createNewGraph();

	public Vertex<V, E> createVertex();

	public Vertex<V, E> createVertex(V data);

	public Edge<V, E> createEdge(Vertex<V, E> src, Vertex<V, E> tgt);

	public Edge<V, E> createEdge(Vertex<V, E> src, Vertex<V, E> tgt, E data);

	public void finalizeGraph();

	// TODO verifier les dessendants
	public Graph<V, E> getCurrentGraph();
}
